/**
 * Created by sxwu on 14-2-15.
 */
var log = require("../lib/log");
var config = require('../config');
var viruser = require('../models/viruser');
var crypto = require('crypto');
var RUtil = require('./dataformatUtil');


exports.index = function(request, response){

     var method = request.method || '';
     var resdata = RUtil.retdata(request);


        if(method.toUpperCase() === "GET") {
            response.render("forgetpwd");

        }

        else if(method.toUpperCase() === "POST") {

            if(request.body.email=="")
            {
                resdata.info="请输入您注册时填写的邮箱地址！";
                resdata.retType="alert-error";
                response.send(resdata);
                return;
            }

            viruser.selectByEmail(request.body.email, function(error,results) {
                if((error)!== null)
                {
                    // 数据库异常
                    resdata.info="找回密码失败："+"(错误码："+error.errno+")";
                    resdata.retType="alert-error";
                    response.send(resdata);
                    return;
                }
                else if(results.length <= 0) {
                    // 用户不存在
                    resdata.info =  "找回密码失败：账户不存在或未激活！";
                    resdata.retType="alert-error";
                    response.send(resdata);
                    return;
                }
                else
                {
                    var usernick=results[0].usernick;
                    var uname=results[0].username;
                    var token ="";

                    var upwd=crypto.createHash('md5').update(new Date().toString()).digest('hex').substr(1,6);
                    var viruser_info = RUtil.viruser_info(request);
                    var userpwd=crypto.createHash('md5').update(upwd).digest('hex');
                    viruser_info.userid=results[0].userid;
                    viruser_info.userpwd= userpwd;
                    viruser.updatePassword(viruser_info, function(error,results) {
                        if((error)!== null)
                        {
                            // 数据库异常
                            resdata.info="找回密码失败："+"(错误码："+error.errno+")";
                            resdata.retType="alert-error";
                            response.send(resdata);
                            return;
                        }
                        else if(results.length <= 0) {
                            // 用户不存在
                            resdata.info =  "找回密码失败：账户不存在或未激活！";
                            resdata.retType="alert-error";
                            response.send(resdata);
                            return;
                        }
                        else
                        {
                            var nodemailer = require("nodemailer");
                            // 开启一个 SMTP 连接池
                            var smtpTransport = nodemailer.createTransport("SMTP",{
                                host: "smtp.163.com", // 主机
                                secureConnection: true, // 使用 SSL
                                port: 465, // SMTP 端口
                                auth: {
                                    user: "wusx00000004@163.com", // 账号
                                    pass: "ZAQ!1qaz" // 密码
                                }
                            });
                            // 设置邮件内容
                            var mailOptions = {
                                from: "云管理平台系统管理员 <wusx00000004@163.com>", // 发件地址
                                to: "55998391@qq.com", // 收件列表
                                subject: "无线路由云管理平台密码重置邮件", // 标题
                                html: "亲爱的"+usernick+"：" +
                                    "<BR>&nbsp;&nbsp;&nbsp;&nbsp;你好！" +
                                    "<BR>&nbsp;&nbsp;&nbsp;&nbsp;您在无线路由云管理平台的的登录账户为："+uname+"。您的密码已经重置为："+upwd+"。请您及时登录系统修改默认密码。" +
                                    "<BR>&nbsp;&nbsp;&nbsp;&nbsp;单击如下链接访问：" +
                                    "<a  target=\"_blank\" href='http://218.244.146.188/login.html'>" +
                                    "无线路由管理平台" +
                                    "</a>" +
                                    "<BR><BR>无线路由管理平台" // html 内容
                            }
                            // 发送邮件
                            smtpTransport.sendMail(mailOptions, function(error, mailresponse){
                                if(error){
                                    console.log(error);
                                    resdata.info="找回密码失败：请重新找回密码。";
                                    resdata.success=true;
                                    resdata.retType="alert-info";
                                    response.send(resdata);
                                    return;
                                }else{
                                    console.log("Message sent: " + mailresponse.message);
                                    resdata.info="恭喜您：密码找回成功！<BR>请登录您的邮箱查看重置后的密码。";
                                    resdata.success=true;
                                    resdata.retType="alert-info";
                                    response.send(resdata);
                                    return;
                                }
                                smtpTransport.close(); // 如果没用，关闭连接池
                            });



                        }
                    });

                }

            });


        }


};
